1. Field of the Invention
Embodiments of the present invention relate to browser technology.
2. Background Art
Browsers are used to access web content or locally stored content. The location of such content is often identified by a location address such as a uniform resource locator (URL). A browser may use a URL to access content associated with the URL. A user can interact with a browser through a user-interface to direct a browser to different content areas.
Content areas may contain text, audio, video and other forms of content delivery. In a traditional windows environment, several content areas may be viewed in multiple windows where there may exist one window per content area. Modern day browsers allow a user to view several content areas in a single browser window. Viewing several content areas in a single browser window may be known as a tab view approach. Browsers which employ this approach to view content may be called as tab view browsers. A tab view browser may allow a user to switch between different content areas through the selection of different tabs. Furthermore, a user may view a content area in one tab while content for another tab is being obtained in the background by a browser.
Conventional browsers that are in use today include MICROSOFT INTERNET EXPLORER, MOZILLA FIREFOX, APPLE SAFARI and OPERA. A user may use any of these browsers to access a content area. A browser window is usually opened by clicking on an icon corresponding to the browser. Once a browser window has been opened, a user may open several other browser windows through the browser's user interface. However, new windows opened by the user using browser's user interface may not be opened as new operating system (OS) processes. Furthermore in browsers that follow a tab view approach, new tabs may not be opened up as new and unique OS processes. Newly opened tabs exist as part of a single browser process. A new OS process of a browser or a browser process may only be opened by double clicking on an browser icon.
If a fault occurs in any single tab rendering content in a browser, it affects all other content areas because they exist in the same browser process. In an example, a fault occurring in a tab rendering a single content area may cause the an unexpected termination of the browser process. An unexpected termination of the browser process may significantly degrade a user's experience.
Content in a browser is rendered for display on a display device by a rendering engine. Browsers in use today may feature a single rendering engine to render a content area for display. The content areas rendered by the rendering engine may exist in a single content area or several content areas in the case of a tab view browser. Thus a single rendering engine may render the content in multiple tabs in a tab view browser resulting in a one-to-many relationship between a rendering engine and content area(s). This approach may not be helpful to a user because a fault in the rendering engine may affect all content areas it is associated with. In examples where the rendering engine is a part of a browser process, this may cause the entire browser process to become unresponsive. An unresponsive browser process may prevent a user from interacting with a browser's user interface components. Furthermore no indication of an unresponsive state of the browser is usually provided to the user by the browser's user interface. This may affect user experience and may significantly reduce efficiency of a users task. A reduction in efficiency of a user's task may occur because the content that the user was interacting with, may now be unresponsive resulting in possible loss of work that has been completed by the user while interacting with that content.
Systems and methods are needed that prevent that prevent faulty browser processes from affecting other browser processes thereby improving quality of user experience and user efficiency.